Using Hardware Counters To Improve Dynamic Compilation

نویسندگان

  • David Tam
  • John Wu
چکیده

In this paper, we describe our project to explore the use of hardware counters to improve triggering techniques for runtime dynamic code recompilation. The Intel Open Runtime Platform (ORP) was chosen as the target Just In Time (JIT) compilation-capable Java Virtual Machine (JVM). The performance counter library (PCL) implemented by Rudolf Berrendorf et al. was used to retrieve real-time micro-architectural level performance values. Only one of these values, the cycle count, was used in this project. Although, the benchmark performance results were not as good as originally anticipated, the work completed for this project has created an infrastructure that can be easily reused and adopted to use other hardware counter values to create improved compilation triggering mechanisms. We introduce a different and potentially better way of performing runtime profiling in comparison to software-only technique used in the original ORP.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Combining Model and Iterative Compilation for Program Performance Optimization

The performance gap for high performance applications has been widening over time. High level program transformations are critical to improve applications’ performance, many of which concern the determination of optimal values for transformation parameters, such as loop unrolling and blocking. Static approaches achieve these values based on analytical models that are hard to achieve because of ...

متن کامل

Metrology applied to performance analysis using hardware counters

Performance evaluation and analysis are used to understand and improve computer system performance. One common approach is to measure performance indicators of interest during execution of a set of benchmark programs on a given system. Processor architecture, compiler, operating system, etc. and their interaction are often not predictable and can introduce random variability in such measurement...

متن کامل

Obtaining Dynamic Program Information with Binary Instrumentation

Dynamic information about a program has many uses, such as aiding the programmer in debugging or optimizing his code, helping make code more secure, or helping hardware and systems designers make organizational or tradeoff decisions. Program information is available through a variety of approaches, including visual inspection of the code or its output, compiler output, hardware counters, debugg...

متن کامل

Fast Hardware Compilation of Behaviors into an FPGA-Based Dynamic Reconfigurable Computing System

This report presents new techniques for architecture and performance driven compilation of software programs into reconfigware (reconfigurable hardware). These new techniques effectively improve on the complex resource sharing approaches typical of High-Level Synthesis algorithms, which are efficient for layout flexible ASICs but are clearly not adequate for reconfigurable devices with pre-defi...

متن کامل

Hardware Counted Profile-Guided Optimization

Profile-Guided Optimization (PGO) is an excellent means to improve the performance of a compiled program. Indeed, the execution path data it provides helps the compiler to generate better code and better cacheline packing. At the time of this writing, compilers only support instrumentation-based PGO. This proved effective for optimizing programs. However, few projects use it, due to its complic...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003